package com.ruoyi.depot.service;

import java.util.List;
import com.ruoyi.depot.domain.LocalInventory;
import com.ruoyi.depot.domain.vo.InventoryProductVO;
import com.ruoyi.depot.domain.vo.LocalInventoryVO;

/**
 * 库存Service接口
 * 
 * @author luxiaoyu
 * @date 2024-12-19
 */
public interface ILocalInventoryService 
{
    /**
     * 查询库存
     * 
     * @param inventoryId 库存主键
     * @return 库存
     */
    public LocalInventory selectLocalInventoryByInventoryId(String inventoryId);

    /**
     * 查询库存列表
     * 
     * @param localInventory 库存
     * @return 库存集合
     */
    public List<LocalInventoryVO> selectLocalInventoryList(LocalInventory localInventory);

    /**
     * 新增库存
     * 
     * @param localInventory 库存
     * @return 结果
     */
    public int insertLocalInventory(LocalInventory localInventory);

    /**
     * 修改库存
     * 
     * @param localInventory 库存
     * @return 结果
     */
    public int updateLocalInventory(LocalInventory localInventory);

    /**
     * 批量删除库存
     * 
     * @param inventoryIds 需要删除的库存主键集合
     * @return 结果
     */
    public int deleteLocalInventoryByInventoryIds(Long[] inventoryIds);

    /**
     * 删除库存信息
     * 
     * @param inventoryId 库存主键
     * @return 结果
     */
    public int deleteLocalInventoryByInventoryId(Long inventoryId);

    /**
     * 查询新增库存盘点中的产品信息
     *
     * @param vo
     * @return
     */
    List<InventoryProductVO> selectProductListByWarehouseId(InventoryProductVO vo);
    /**
     * 修改预定量/锁定量
     */
    int updateReservedQuantity(LocalInventory localInventory);
}
